import Vue from 'vue'
import App from './App.vue'
import router from './router'
import axios from 'axios'
import NProgress from 'nprogress' // 引入nprogress插件
// 全局的处理在mian.js

// import './plugins/element.js'
import './styles/global.css'
import './assets/font/iconfont.css'

import VueQuillEditor from 'vue-quill-editor'

// require styles
// import 'nprogress/nprogress.css' // 这个nprogress样式必须引入
// import 'quill/dist/quill.core.css'
// import 'quill/dist/quill.snow.css'
// import 'quill/dist/quill.bubble.css'
import ZkTable from 'vue-table-with-tree-grid'
Vue.use(VueQuillEditor)
Vue.component('tree-grid', ZkTable)
// 设置请求的基准地址
axios.defaults.baseURL = 'http://liufusong.top:8888/api/private/v1'
// js 方法 如果在main.js 中导入 想让所以页面都访问到 有俩种方法
// 1.Vue.use() 需要看改库是否默认支持  axios不支持
// 2.所有的组件都能访问到 Vue.prototype

// 多个请求进行重复的请求配置此时建议使用请求拦截器进行统一配置
axios.interceptors.request.use(config => {
  NProgress.start() // 设置加载进度条(开始..)
  // 携带的请求头名字由后台决定
  config.headers.Authorization = sessionStorage.getItem('token')
  // console.log(config)
  return config
})

// 响应拦截器
axios.interceptors.response.use(res => {
  NProgress.done() // 设置加载进度条(结束..)
  return res.data
})
Vue.prototype.$axios = axios
Vue.config.productionTip = false
// 定义格式化式过滤器
Vue.filter('formatTime', (time) => {
  const date = new Date(time * 1000)
  const y = date.getFullYear()
  const m = date.getMonth() + 1
  const d = date.getDate()
  return `${y}-${m}-${d}`
})

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')
